1. Field of the Invention
This invention generally relates to the maintenance of data redundancy in a data storage facility and more particularly to recovering data in such a facility.
2. Description of Related Art
Many data processing applications now operate on digital data processing systems that incorporate large scale memory facilities. These large scale memory facilities take many forms. One such form is a disk array storage device (DASD) in which data is stored at a local large scale disk memory with many physical disk drives. In other applications it may be desired to distribute the functions of equivalent devices over a network at different network nodes in a local-area or wide-area network.
When data integrity is critical, such large scale disk memory facilities include some type of data redundancy. Memory mirrors provide on-site redundancy to protect against equipment failure. U.S. Pat. No. 5,206,939 to Yanai et al. and assigned to the same assignee as this invention discloses a remote system that normally acts as a mirror of a local system. The geographical separation between the local and remote systems provides an extremely high degree of reliability, particularly as protection against a natural disaster.
More recently U.S. Pat. No. 6,101,497 granted Aug. 8, 2000 discloses a tool that is particularly well adapted for facilitating redundancy. This device, called a BCV device, establishes a special physical disk structure that acts as a moving physical mirror to attach to and to synchronize with a standard device with one or more fixed physical mirrors without interfering with normal operations between an application program being run by a host using data on the standard device. Once the data in this BCV moving mirror is synchronized with the data in the standard device, it can be split or isolated from the standard device and thereafter be available for backup or for use by another application.
As known, data on a standard device can, for a variety of reasons, become corrupt. As described in the foregoing U.S. Pat. No. 6,101,497, a restore or an incremental restore command initiates a restoration procedure that copies data from the redundant BCV physical mirror to the standard device, assuming that data on the BCV physical mirror has not been changed. For example, a BCV physical mirror used as a source for a tape backup will maintain the data without change. In this situation, the data on the BCV physical mirror represents the data that existed when the BCV physical mirror was isolated from the standard device. So it does not represent the data that actually exists on the standard device if an event occurs that requires restoration; rather it represents the data that existed at some earlier point in time.
However, many databases and other applications maintain a log file, or like file that records each transfer and the sequence of each transfer. Entries from such a file from a point in time after the prior isolation can be used to recover or update the data fully on the standard volume. One such update procedure is known as “unrolling the redo logs”. During this procedure, the BCV device may be attached to the standard device. As each log entry is processed, a write operation transfers the data associated with that log entry to both the standard device and the BCV physical mirror. Consequently, after the first write operation occurs, the data on the BCV physical mirror is no longer identical to the data that had been on the BCV physical mirror at the time of a prior split.
Oftentimes errors can occur while performing an update procedure like unrolling the redo logs thereby corrupting the data on the standard device and, due to the mirroring function, the data on the BCV physical mirror. When this occurs it may be required to recover data from a tape backup made even earlier in time and again try to reconstruct the current data by unrolling the redo logs for a longer time interval. Data recovery involving tape backups can be time consuming and tedious. What is needed is a process by which the data used on a mirror for restoration, like data on a BCV physical mirror, is not altered until an update procedure, such as unrolling the redo logs, has been completed without error.
With prior data recovery operations, data from a BCV physical mirror is restored to a standard device before an update procedure, such as unrolling the redo logs, is initiated. Conducting the restoration and update procedures in series can result in long downtime for a production volume. What is needed is a data recovery operation that enables the restoration and update procedures to occur concurrently.